Skip to content
This repository has been archived by the owner on Sep 1, 2020. It is now read-only.

Latest commit

 

History

History
33 lines (26 loc) · 932 Bytes

11.3 - Process/Pool->listen.md

File metadata and controls

33 lines (26 loc) · 932 Bytes

Process\Pool->listen

监听SOCKET,必须在$ipc_modeSWOOLE_IPC_SOCKET时才能使用。

function Process\Pool::listen(string $host, int $port = 0, int $backlog = 2048);

参数

  • $host监听的地址,支持TCPUnixSocket两种类型。127.0.0.1表示监听TCP地址,需要指定$portunix:/tmp/php.sock监听UnixSocket地址。
  • $port监听的端口,在TCP模式下需要指定。
  • $backlog监听的队列长度

返回值

  • 成功监听返回true
  • 监听失败返回false,可调用swoole_errno获取错误码。监听失败后,调用start时会立即返回false

通信协议

向监听端口发送数据时,客户端必须在请求前增加4字节、网络字节序的长度值。协议格式为:

packet = htonl(strlen(data)) + data;

实例

$pool->listen('127.0.0.1', 8089);
$pool->listen('unix:/tmp/php.sock');